#ifndef Visitor_h
#define Visitor_h

class Monde;
class Continent;
class Territoire;
class Pion;
class De;

/**
 * Interface du visiteur
 */
class Visitor {

 public:

    virtual void visit(Monde * _monde);

    virtual void visit(Continent * _continent);

    virtual void visit(Territoire * _territoire)  = 0;

    virtual void visit(Pion * _pion);

    virtual void visit(De * _de);

public:
    // virtual destructor for interface 
    virtual ~Visitor() { }
};
#endif

